home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / MathIEEESingBas.mod < prev    next >
Text File  |  1995-06-29  |  3KB  |  134 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEESingBas.mod $
  4.   Description: Interface to mathieeesingbas.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. <* STANDARD- *>
  23.  
  24. MODULE [2] MathIEEESingBas;
  25.  
  26. IMPORT SYS := SYSTEM, Kernel, x := Exec, m := MathLibrary;
  27.  
  28. CONST
  29.  
  30.   pi *       = 3.141592653589793;
  31.   twoPi *    = 6.283185307179586; (* Pi * 2.0 *)
  32.   pi2 *      = 1.570796326794696; (* Pi / 2.0 *)
  33.   pi4 *      = 0.785398163397448; (* Pi / 4.0 *)
  34.   e *        = 2.718281828459045;
  35.   log10 *    = 2.302585092994046;
  36.  
  37.   fpTen *    = 10.0;
  38.   fpOne *    = 1.0;
  39.   fpHalf *   = 0.5;
  40.   fpZero *   = 0.0;
  41.  
  42. (*
  43. **      $VER: mathieeesp.h 1.1 (13.7.90)
  44. *)
  45.  
  46. (*-- MathIEEESingBas Base variable --------------------------------------*)
  47.  
  48. CONST
  49.  
  50.   mathIEEESingBasName * = "mathieeesingbas.library";
  51.  
  52. VAR
  53.  
  54.   base * : m.MathIEEEBasePtr;
  55.  
  56.  
  57. (*-- Library Functions ------------------------------------------------*)
  58.  
  59. (*
  60. **      $VER: mathieeesingbas_protos.h 1.3 (7.11.90)
  61. *)
  62.  
  63. PROCEDURE Fix* [base,-30]
  64.   ( parm [0] : REAL )
  65.   : LONGINT;
  66.  
  67. PROCEDURE Flt* [base,-36]
  68.   ( integer [0] : LONGINT  )
  69.   : REAL;
  70.  
  71. PROCEDURE Cmp* [base,-42]
  72.   ( leftParm  [0] : REAL;
  73.     rightParm [1] : REAL )
  74.   : LONGINT;
  75.  
  76. PROCEDURE Tst* [base,-48]
  77.   ( parm [0] : REAL )
  78.   : LONGINT;
  79.  
  80. PROCEDURE Abs* [base,-54]
  81.   ( parm [0] : REAL )
  82.   : REAL;
  83.  
  84. PROCEDURE Neg* [base,-60]
  85.   ( parm [0] : REAL )
  86.   : REAL;
  87.  
  88. PROCEDURE Add* [base,-66]
  89.   ( leftParm  [0] : REAL;
  90.     rightParm [1] : REAL )
  91.   : REAL;
  92.  
  93. PROCEDURE Sub* [base,-72]
  94.   ( leftParm  [0] : REAL;
  95.     rightParm [1] : REAL )
  96.   : REAL;
  97.  
  98. PROCEDURE Mul* [base,-78]
  99.   ( leftParm  [0] : REAL;
  100.     rightParm [1] : REAL )
  101.   : REAL;
  102.  
  103. PROCEDURE Div* [base,-84]
  104.   ( dividend [0] : REAL;
  105.     divisor  [1] : REAL )
  106.   : REAL;
  107.  
  108. PROCEDURE Floor* [base,-90]
  109.   ( parm [0] : REAL )
  110.   : REAL;
  111.  
  112. PROCEDURE Ceil* [base,-96]
  113.   ( parm [0] : REAL )
  114.   : REAL;
  115.  
  116.  
  117. (*-- Library Base variable --------------------------------------------*)
  118.  
  119. <*$LongVars-*>
  120.  
  121. (*-----------------------------------*)
  122. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  123.  
  124. BEGIN (* CloseLib *)
  125.   IF base # NIL THEN x.CloseLibrary (base) END;
  126. END CloseLib;
  127.  
  128. BEGIN
  129.   base := SYS.VAL (m.MathIEEEBasePtr,
  130.                    x.OpenLibrary (mathIEEESingBasName, x.libraryMinimum));
  131.   IF base = NIL THEN HALT (100) END;
  132.   Kernel.SetCleanup (CloseLib)
  133. END MathIEEESingBas.
  134.